home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / macpath.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  6KB  |  286 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import os
  5. from stat import *
  6. __all__ = [
  7.     'normcase',
  8.     'isabs',
  9.     'join',
  10.     'splitdrive',
  11.     'split',
  12.     'splitext',
  13.     'basename',
  14.     'dirname',
  15.     'commonprefix',
  16.     'getsize',
  17.     'getmtime',
  18.     'getatime',
  19.     'getctime',
  20.     'islink',
  21.     'exists',
  22.     'lexists',
  23.     'isdir',
  24.     'isfile',
  25.     'walk',
  26.     'expanduser',
  27.     'expandvars',
  28.     'normpath',
  29.     'abspath',
  30.     'curdir',
  31.     'pardir',
  32.     'sep',
  33.     'pathsep',
  34.     'defpath',
  35.     'altsep',
  36.     'extsep',
  37.     'devnull',
  38.     'realpath',
  39.     'supports_unicode_filenames']
  40. curdir = ':'
  41. pardir = '::'
  42. extsep = '.'
  43. sep = ':'
  44. pathsep = '\n'
  45. defpath = ':'
  46. altsep = None
  47. devnull = 'Dev:Null'
  48.  
  49. def normcase(path):
  50.     return path.lower()
  51.  
  52.  
  53. def isabs(s):
  54.     if ':' in s:
  55.         pass
  56.     return s[0] != ':'
  57.  
  58.  
  59. def join(s, *p):
  60.     path = s
  61.     for t in p:
  62.         if not s or isabs(t):
  63.             path = t
  64.             continue
  65.         
  66.         if t[:1] == ':':
  67.             t = t[1:]
  68.         
  69.         if ':' not in path:
  70.             path = ':' + path
  71.         
  72.         if path[-1:] != ':':
  73.             path = path + ':'
  74.         
  75.         path = path + t
  76.     
  77.     return path
  78.  
  79.  
  80. def split(s):
  81.     if ':' not in s:
  82.         return ('', s)
  83.     
  84.     colon = 0
  85.     for i in range(len(s)):
  86.         if s[i] == ':':
  87.             colon = i + 1
  88.             continue
  89.     
  90.     path = s[:colon - 1]
  91.     file = s[colon:]
  92.     if path and ':' not in path:
  93.         path = path + ':'
  94.     
  95.     return (path, file)
  96.  
  97.  
  98. def splitext(p):
  99.     i = p.rfind('.')
  100.     if i <= p.rfind(':'):
  101.         return (p, '')
  102.     else:
  103.         return (p[:i], p[i:])
  104.  
  105.  
  106. def splitdrive(p):
  107.     return ('', p)
  108.  
  109.  
  110. def dirname(s):
  111.     return split(s)[0]
  112.  
  113.  
  114. def basename(s):
  115.     return split(s)[1]
  116.  
  117.  
  118. def ismount(s):
  119.     if not isabs(s):
  120.         return False
  121.     
  122.     components = split(s)
  123.     if len(components) == 2:
  124.         pass
  125.     return components[1] == ''
  126.  
  127.  
  128. def isdir(s):
  129.     
  130.     try:
  131.         st = os.stat(s)
  132.     except os.error:
  133.         return 0
  134.  
  135.     return S_ISDIR(st.st_mode)
  136.  
  137.  
  138. def getsize(filename):
  139.     return os.stat(filename).st_size
  140.  
  141.  
  142. def getmtime(filename):
  143.     return os.stat(filename).st_mtime
  144.  
  145.  
  146. def getatime(filename):
  147.     return os.stat(filename).st_atime
  148.  
  149.  
  150. def islink(s):
  151.     
  152.     try:
  153.         import Carbon.File as Carbon
  154.         return Carbon.File.ResolveAliasFile(s, 0)[2]
  155.     except:
  156.         return False
  157.  
  158.  
  159.  
  160. def isfile(s):
  161.     
  162.     try:
  163.         st = os.stat(s)
  164.     except os.error:
  165.         return False
  166.  
  167.     return S_ISREG(st.st_mode)
  168.  
  169.  
  170. def getctime(filename):
  171.     return os.stat(filename).st_ctime
  172.  
  173.  
  174. def exists(s):
  175.     
  176.     try:
  177.         st = os.stat(s)
  178.     except os.error:
  179.         return False
  180.  
  181.     return True
  182.  
  183.  
  184. def lexists(path):
  185.     
  186.     try:
  187.         st = os.lstat(path)
  188.     except os.error:
  189.         return False
  190.  
  191.     return True
  192.  
  193.  
  194. def commonprefix(m):
  195.     if not m:
  196.         return ''
  197.     
  198.     s1 = min(m)
  199.     s2 = max(m)
  200.     n = min(len(s1), len(s2))
  201.     for i in xrange(n):
  202.         if s1[i] != s2[i]:
  203.             return s1[:i]
  204.             continue
  205.     
  206.     return s1[:n]
  207.  
  208.  
  209. def expandvars(path):
  210.     return path
  211.  
  212.  
  213. def expanduser(path):
  214.     return path
  215.  
  216.  
  217. class norm_error(Exception):
  218.     pass
  219.  
  220.  
  221. def normpath(s):
  222.     if ':' not in s:
  223.         return ':' + s
  224.     
  225.     comps = s.split(':')
  226.     i = 1
  227.     while i < len(comps) - 1:
  228.         if comps[i] == '' and comps[i - 1] != '':
  229.             if i > 1:
  230.                 del comps[i - 1:i + 1]
  231.                 i = i - 1
  232.             else:
  233.                 raise norm_error, 'Cannot use :: immediately after volume name'
  234.         i > 1
  235.         i = i + 1
  236.     s = ':'.join(comps)
  237.     if s[-1] == ':' and len(comps) > 2 and s != ':' * len(s):
  238.         s = s[:-1]
  239.     
  240.     return s
  241.  
  242.  
  243. def walk(top, func, arg):
  244.     
  245.     try:
  246.         names = os.listdir(top)
  247.     except os.error:
  248.         return None
  249.  
  250.     func(arg, top, names)
  251.     for name in names:
  252.         name = join(top, name)
  253.         if isdir(name) and not islink(name):
  254.             walk(name, func, arg)
  255.             continue
  256.     
  257.  
  258.  
  259. def abspath(path):
  260.     if not isabs(path):
  261.         path = join(os.getcwd(), path)
  262.     
  263.     return normpath(path)
  264.  
  265.  
  266. def realpath(path):
  267.     path = abspath(path)
  268.     
  269.     try:
  270.         import Carbon.File as Carbon
  271.     except ImportError:
  272.         return path
  273.  
  274.     if not path:
  275.         return path
  276.     
  277.     components = path.split(':')
  278.     path = components[0] + ':'
  279.     for c in components[1:]:
  280.         path = join(path, c)
  281.         path = Carbon.File.FSResolveAliasFile(path, 1)[0].as_pathname()
  282.     
  283.     return path
  284.  
  285. supports_unicode_filenames = False
  286.